<!DOCTYPE HTML>
<html lang="en" >
    
    <head>
        
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>ATS | Swift 简介</title>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <meta name="description" content="">
        <meta name="generator" content="GitBook 2.1.0">
        
        
        <meta name="HandheldFriendly" content="true"/>
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
        <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
        
    <link rel="stylesheet" href="gitbook/style.css">
    
    

        
    
    
    
    <link rel="prev" href="./11-lazy.html" />
    

        
    </head>
    <body>
        
        
    <div class="book" data-level="0.12" data-basepath="." data-revision="Fri Aug 28 2015 04:40:56 GMT+0800 (CST)">
    

<div class="book-summary">
    <div class="book-search">
        <input type="text" placeholder="Type to search" class="form-control" />
    </div>
    <ul class="summary">
        
        
        
        

        

        
    
        <li class="chapter " data-level="0" data-path="index.html">
            
                
                    <a href="./index.html">
                        <i class="fa fa-check"></i>
                        
                        Swift快速入门
                    </a>
                
            
            
            <ul class="articles">
                
    
        <li class="chapter " data-level="0.1" data-path="01-playground.html">
            
                
                    <a href="./01-playground.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.1.</b>
                        
                        Playground
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.2" data-path="02-var_and_let.html">
            
                
                    <a href="./02-var_and_let.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.2.</b>
                        
                        变量和常量
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.3" data-path="03-optional.html">
            
                
                    <a href="./03-optional.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.3.</b>
                        
                        Optional可选值
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.4" data-path="04-control_flow.html">
            
                
                    <a href="./04-control_flow.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.4.</b>
                        
                        控制流
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.5" data-path="05-loop.html">
            
                
                    <a href="./05-loop.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.5.</b>
                        
                        循环
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.6" data-path="06-string.html">
            
                
                    <a href="./06-string.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.6.</b>
                        
                        字符串
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.7" data-path="07-collection.html">
            
                
                    <a href="./07-collection.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.7.</b>
                        
                        集合
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.8" data-path="08-func.html">
            
                
                    <a href="./08-func.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.8.</b>
                        
                        函数
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.9" data-path="09-closure.html">
            
                
                    <a href="./09-closure.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.9.</b>
                        
                        闭包
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.10" data-path="10-init_func.html">
            
                
                    <a href="./10-init_func.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.10.</b>
                        
                        构造函数
                    </a>
                
            
            
        </li>
    
        <li class="chapter " data-level="0.11" data-path="11-lazy.html">
            
                
                    <a href="./11-lazy.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.11.</b>
                        
                        懒加载 &amp; didSet
                    </a>
                
            
            
        </li>
    
        <li class="chapter active" data-level="0.12" data-path="12-ats.html">
            
                
                    <a href="./12-ats.html">
                        <i class="fa fa-check"></i>
                        
                            <b>0.12.</b>
                        
                        ATS
                    </a>
                
            
            
        </li>
    

            </ul>
            
        </li>
    


        
        <li class="divider"></li>
        <li>
            <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
                Published with GitBook
            </a>
        </li>
        
    </ul>
</div>

    <div class="book-body">
        <div class="body-inner">
            <div class="book-header">
    <!-- Actions Left -->
    <a href="#" class="btn pull-left toggle-summary" aria-label="Table of Contents"><i class="fa fa-align-justify"></i></a>
    <a href="#" class="btn pull-left toggle-search" aria-label="Search"><i class="fa fa-search"></i></a>
    
    <div id="font-settings-wrapper" class="dropdown pull-left">
        <a href="#" class="btn toggle-dropdown" aria-label="Font Settings"><i class="fa fa-font"></i>
        </a>
        <div class="dropdown-menu font-settings">
    <div class="dropdown-caret">
        <span class="caret-outer"></span>
        <span class="caret-inner"></span>
    </div>

    <div class="buttons">
        <button type="button" id="reduce-font-size" class="button size-2">A</button>
        <button type="button" id="enlarge-font-size" class="button size-2">A</button>
    </div>

    <div class="buttons font-family-list">
        <button type="button" data-font="0" class="button">Serif</button>
        <button type="button" data-font="1" class="button">Sans</button>
    </div>

    <div class="buttons color-theme-list">
        <button type="button" id="color-theme-preview-0" class="button size-3" data-theme="0">White</button>
        <button type="button" id="color-theme-preview-1" class="button size-3" data-theme="1">Sepia</button>
        <button type="button" id="color-theme-preview-2" class="button size-3" data-theme="2">Night</button>
    </div>
</div>

    </div>

    <!-- Actions Right -->
    
    <div class="dropdown pull-right">
        <a href="#" class="btn toggle-dropdown" aria-label="Share"><i class="fa fa-share-alt"></i>
        </a>
        <div class="dropdown-menu font-settings dropdown-left">
            <div class="dropdown-caret">
                <span class="caret-outer"></span>
                <span class="caret-inner"></span>
            </div>
            <div class="buttons">
                <button type="button" data-sharing="twitter" class="button">
                    Share on Twitter
                </button>
                <button type="button" data-sharing="google-plus" class="button">
                    Share on Google
                </button>
                <button type="button" data-sharing="facebook" class="button">
                    Share on Facebook
                </button>
                <button type="button" data-sharing="weibo" class="button">
                    Share on Weibo
                </button>
                <button type="button" data-sharing="instapaper" class="button">
                    Share on Instapaper
                </button>
            </div>
        </div>
    </div>
    

    
    <a href="#" target="_blank" class="btn pull-right google-plus-sharing-link sharing-link" data-sharing="google-plus" aria-label="Google"><i class="fa fa-google-plus"></i></a>
    
    
    <a href="#" target="_blank" class="btn pull-right facebook-sharing-link sharing-link" data-sharing="facebook" aria-label="Facebook"><i class="fa fa-facebook"></i></a>
    
    
    <a href="#" target="_blank" class="btn pull-right twitter-sharing-link sharing-link" data-sharing="twitter" aria-label="Twitter"><i class="fa fa-twitter"></i></a>
    
    
    


    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="./" >Swift 简介</a>
    </h1>
</div>

            <div class="page-wrapper" tabindex="-1">
                <div class="page-inner">
                
                
                    <section class="normal" id="section-">
                    
                        <h1 id="ats">ATS</h1>
<h1 id="ats-%E5%BA%94%E7%94%A8%E4%BC%A0%E8%BE%93%E5%AE%89%E5%85%A8">ATS &#x5E94;&#x7528;&#x4F20;&#x8F93;&#x5B89;&#x5168;</h1>
<blockquote>
<p>App Transport Security (ATS) lets an app add a declaration to its Info.plist file that specifies the domains with which it needs secure communication. ATS prevents accidental disclosure, provides secure default behavior, and is easy to adopt. You should adopt ATS as soon as possible, regardless of whether you&#x2019;re creating a new app or updating an existing one. <br><br>If you&#x2019;re developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible.</p>
</blockquote>
<h2 id="%E5%BC%BA%E5%88%B6%E8%AE%BF%E9%97%AE">&#x5F3A;&#x5236;&#x8BBF;&#x95EE;</h2>
<pre><code class="lang-plist"><span class="hljs-tag">&lt;<span class="hljs-title">key</span>&gt;</span>NSAppTransportSecurity<span class="hljs-tag">&lt;/<span class="hljs-title">key</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">dict</span>&gt;</span>
  <span class="hljs-comment">&lt;!--Include to allow all connections (DANGER)--&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-title">key</span>&gt;</span>NSAllowsArbitraryLoads<span class="hljs-tag">&lt;/<span class="hljs-title">key</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-title">true</span>/&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">dict</span>&gt;</span>
</code></pre>
<h2 id="%E8%AE%BE%E7%BD%AE%E7%99%BD%E5%90%8D%E5%8D%95">&#x8BBE;&#x7F6E;&#x767D;&#x540D;&#x5355;</h2>
<pre><code class="lang-plist"><span class="hljs-tag">&lt;<span class="hljs-title">key</span>&gt;</span>NSAppTransportSecurity<span class="hljs-tag">&lt;/<span class="hljs-title">key</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">dict</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">key</span>&gt;</span>NSExceptionDomains<span class="hljs-tag">&lt;/<span class="hljs-title">key</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">dict</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">key</span>&gt;</span>localhost<span class="hljs-tag">&lt;/<span class="hljs-title">key</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">dict</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-title">key</span>&gt;</span>NSTemporaryExceptionAllowsInsecureHTTPLoads<span class="hljs-tag">&lt;/<span class="hljs-title">key</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-title">true</span>/&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-title">dict</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">dict</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">dict</span>&gt;</span>
</code></pre>
<ul>
<li>&#x7F51;&#x7EDC;&#x8BBF;&#x95EE;&#x4EE3;&#x7801;</li>
</ul>
<pre><code class="lang-swift"><span class="hljs-keyword">let</span> url = <span class="hljs-type">NSURL</span>(string: <span class="hljs-string">&quot;http://www.weather.com.cn/data/sk/101010100.html&quot;</span>)!

<span class="hljs-type">NSURLSession</span>.sharedSession().dataTaskWithURL(url) { (data, <span class="hljs-number">_</span>, error) <span class="hljs-keyword">in</span>
    <span class="hljs-keyword">if</span> error != <span class="hljs-built_in">nil</span> {
        <span class="hljs-built_in">print</span>(error)
        <span class="hljs-keyword">return</span>
    }

}.resume()
</code></pre>
<ul>
<li><p>&#x8FD0;&#x884C;&#x63D0;&#x793A;&#xFF1A;App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app&apos;s Info.plist file.</p>
</li>
<li><p>JSON &#x5E8F;&#x5217;&#x5316;</p>
</li>
</ul>
<pre><code class="lang-swift"><span class="hljs-keyword">let</span> dict = try! <span class="hljs-type">NSJSONSerialization</span>.<span class="hljs-type">JSONObjectWithData</span>(data!, options: <span class="hljs-type">NSJSONReadingOptions</span>(rawValue: <span class="hljs-number">0</span>))
<span class="hljs-built_in">print</span>(dict)
</code></pre>
<ul>
<li>try catch</li>
</ul>
<pre><code class="lang-swift"><span class="hljs-keyword">do</span> {
    <span class="hljs-keyword">let</span> tmpData = <span class="hljs-string">&quot;{\&quot;name\&quot;: \&quot;zhangsan\&quot;}&quot;</span>.dataUsingEncoding(<span class="hljs-type">NSUTF8StringEncoding</span>)
    <span class="hljs-keyword">let</span> dict = try <span class="hljs-type">NSJSONSerialization</span>.<span class="hljs-type">JSONObjectWithData</span>(tmpData!, options: <span class="hljs-type">NSJSONReadingOptions</span>(rawValue: <span class="hljs-number">0</span>))
    <span class="hljs-built_in">print</span>(dict)
} catch {
    <span class="hljs-built_in">print</span>(error)
}
</code></pre>

                    
                    </section>
                
                
                </div>
            </div>
        </div>

        
        <a href="./11-lazy.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 懒加载 &amp; didSet"><i class="fa fa-angle-left"></i></a>
        
        
    </div>
</div>

        
<script src="gitbook/app.js"></script>

<script>
require(["gitbook"], function(gitbook) {
    var config = {"fontSettings":{"theme":null,"family":"sans","size":2}};
    gitbook.start(config);
});
</script>

        
    </body>
    
</html>
